package com.ruoyi.service;

import java.util.List;
import com.ruoyi.domain.MaterialsRequisitiones;

/**
 * 材料申请单Service接口
 * 
 * @author ruoyi
 * @date 2020-07-23
 */
public interface IMaterialsRequisitionesService 
{
    /**
     * 查询材料申请单
     * 
     * @param mMid 材料申请单ID
     * @return 材料申请单
     */
    public MaterialsRequisitiones selectMaterialsRequisitionesById(Long mMid);

    /**
     * 查询材料申请单列表
     * 
     * @param materialsRequisitiones 材料申请单
     * @return 材料申请单集合
     */
    public List<MaterialsRequisitiones> selectMaterialsRequisitionesList(MaterialsRequisitiones materialsRequisitiones);

    /**
     * 新增材料申请单
     * 
     * @param materialsRequisitiones 材料申请单
     * @return 结果
     */
    public int insertMaterialsRequisitiones(MaterialsRequisitiones materialsRequisitiones);

    /**
     * 修改材料申请单
     * 
     * @param materialsRequisitiones 材料申请单
     * @return 结果
     */
    public int updateMaterialsRequisitiones(MaterialsRequisitiones materialsRequisitiones);

    /**
     * 批量删除材料申请单
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteMaterialsRequisitionesByIds(String ids);

    /**
     * 删除材料申请单信息
     * 
     * @param mMid 材料申请单ID
     * @return 结果
     */
    public int deleteMaterialsRequisitionesById(Long mMid);


    /**
     * 查询总项目对应的材料申请单
     */
    List<MaterialsRequisitiones> selectMaterialsRequisitionesLists(Long mId);
    /**
     *  根据材料详情 查询材料申请单
     */
    List<MaterialsRequisitiones> selectnameLists(String matDetailss,long mId);

    /**
     * 提交【审批】信息
     *
     * @param mMid 【审批】mMid
     * @return 结果
     */
    public int submitExaStatus(Long mMid);

    /**
     * 撤销【审批】信息
     *
     * @param mMid 【审批】mMid
     * @return 结果
     */
    public int revoExaStatus(Long mMid);

    /**
     * 通过申请【审批】信息
     *
     * @param mMid 【审批】mMid
     * @return 结果
     */
    public int conExaStatus(Long mMid);

    /**
     * 驳回申请【审批】信息
     *
     * @param mMid 【审批】mMid
     * @return 结果
     */
    public int editExaStatus(Long mMid);

    /**
     * 通过通过id去查询是审批通过了什么材料,返回一个对象,对象里包含查询到的所有数据
     */
    MaterialsRequisitiones  ExaId(Long mMid);

    List<MaterialsRequisitiones> selectLists(Long mId,Long mStatus);
}
